import os
import streamlit as st
import sqlite3
import pandas as pd
from package.load import get_data_from_database
# streamlit run app.py

# 显示标题
st.title("记账软件")

# 加载数据并显示在 Streamlit 页面上
data = get_data_from_database()
st.dataframe(data)

# 表单输入界面
st.subheader("添加新记录")

with st.form("add_record_form"):
    时间 = st.date_input("日期")
    收支类型 = st.selectbox("收支类型", ["收入", "支出"])
    账目分类 = st.text_input("账目分类")
    金额 = st.number_input("金额", step=0.01)
    账户 = st.text_input("账户")
    账户类型 = st.text_input("账户类型")
    账本 = st.text_input("账本")
    成员 = st.text_input("成员")
    备注 = st.text_area("备注")

    # 提交按钮
    submitted = st.form_submit_button("添加记录")

# 如果提交了表单，将新记录插入到数据库
if submitted:
    base_dir = os.getcwd()
    file_name = 'accounting.db' 
    file_path = os.path.join(base_dir, "database", file_name)
    conn = sqlite3.connect(file_path)
    cursor = conn.cursor()
    
    # 插入新数据
    cursor.execute("""
        INSERT INTO records (时间, 收支类型, 账目分类, 金额, 账户, 账户类型, 账本, 成员, 备注)
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
    """, (时间, 收支类型, 账目分类, 金额, 账户, 账户类型, 账本, 成员, 备注))
    
    conn.commit()
    conn.close()
    
    # 显示成功信息并重新加载数据
    st.success("新记录已添加！")
    data = get_data_from_database()
    st.dataframe(data)
